//有了domain,那么就不需要返回值当中存在ok或者err来判断了,需要在使用的时候,每个callback必须使用d.intercept
//d.bind来调用回调函数,正对于已经存在err的,使用bind,而对于自己的,这可以不做err了


var fs = require('fs');

var domain = require('domain');
var d = domain.create();
d.on('error', function(ex) {
	console.log('出现错误了,信息是:', ex);
})

function test(argument) {

	fs.readFile('a.txt', d.intercept(function(data) {

		console.log('start.........');
		console.log('start000000000000.........');
		console.log(data);
		console.log('start111111111.........');
		throw 'error....';
		console.log('end.........');

	}));

	fs.readFile('a.txt', d.bind(function(err, data) {

		console.log('start.........');
		console.log('start000000000000.........');
		console.log(data);
		console.log('start111111111.........');
		throw 'error....';
		console.log('end.........');

	}));

}


function main(argument) {

	test()

}

main();